Career 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour France F3 Nigeria F2 Algeria F1 Algeria F2 Saudi Arabia F1 Saudi Arabia F2 Tunisia F1 Tunisia F2 Morocco F3 Iran F1 Iran F2 Italy F22 France F19 France F20 Tunisia F6 UAE F1 Qatar F1 Portugal F3 France F5 Morocco F1 Morocco F2 Tunisia F2 Tunisia F3 France F9 France F17 Tunisia F4 Egypt F2 Egypt F3 Bulgaria-w1 Bulgaria-w4 Spain F19 Turkey F1 Germany F8 Belgium F1 Belgium F2 Austria F8 Germany F14 Bulgaria F3 Sweden F5 France F15 France F19 Portugal F6 Tunisia F4 Israel F5 Tunisia F6 Israel F6 Tunisia F7 France F1 France F3 Spain F7 Israel F1 Israel F2 Israel F3 Egypt F1 Egypt F2 Egypt F3 Romania F4 Romania F5 Romania F6 Tunisia F2 Netherlands F1 Germany F7 Italy F21 Italy F22 Germany F11 Germany F12 Romania F16 Romania F17 Switzerland F5 Switzerland F6 Great Britain F19 Great Britain F1 Germany F3 Great Britain F3 Germany F5 Italy F3 Italy F3B Turkey F1 Turkey F2 Turkey F3 Turkey F4 Turkey F5 Bulgaria F2 Bulgaria F3 Bulgaria F4 Kuwait F2 Netherlands F1 Tunisia F1 Netherlands F2 Austria F4 Germany F8 Austria F5 Austria F6 France F11 France F12 Germany F13 Romania F15 Belgium F1 Belgium F2 Belgium F3 France F15 France F17 France F18 Spain F43 Israel F4 United Arab Emirates F1 Morocco F1 France F1 Morocco F2 France F2 Italy F1 Great Britain F3 Great Britain F4 Spain F11 Spain F15 Spain F16 Italy F10 Kuwait F1 Kuwait F2 Tunisia F1 Netherlands F1 Tunisia F2 Tunisia F3 Georgia F1 Italy F20 Georgia F2 France F14 France F15 France F19 Great Britain F15 Great Britain F16 Great Britain F1 Morocco F1 Morocco F2 Spain F7 France F4 France F5 Italy F2 Italy F3 France F6 Italy F8 Tunisia F1 Tunisia F2 Spain F29 Netherlands F5 Morocco F7 Spain F35 Spain F36 France F18 France F19 Egypt F4 Egypt F5 Spain F39 Sudan F1 Sudan F2 Colombia F1 Colombia F2 Great Britain F3 Great Britain F4 Italy F5 Italy F6 Great Britain F7 Poland F2 Netherlands F1 France F8 Netherlands F4 Great Britain F8 Italy F19 Kazakhstan F4 Tunisia F1 Great Britain F3 Turkey F5 France F4 Great Britain F5 France F8 Great Britain F18 France F1 France F2 France F4 Italy F3 France F8 Romania F3 Germany F5 Germany F10 Belgium F7 Netherlands F5 Nigeria F1 Burundi F1 Rwanda F1 France F21 Spain F38 France F1 Great Britain F2 Great Britain F3 France F4 France F6 Turkey F8 Qatar F1 Qatar F2 Turkey F12 Italy F14 Netherlands F4 Italy F29 Spain F32 Norway F2 France F2 France F3 France F4 Portugal F3 Great Britain F4 Spain F6 Tunisia F12 Croatia F9 Netherlands F3 Netherlands F4 Tunisia F3 France F4 Greece F4 Netherlands F4 Belgium F5 Spain F24 Russia F7 France F19 Portugal F11 Israel F16 France F4 (Lille) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F4 (Lisbon) USA F12 (Memphis) USA F13 (Little Rock) Italy F23 Italy F12 (Napoli) Romania F1 (Bucharest) Croatia F3 Turkey F23 (Istanbul) France F15 (Ajaccio) Germany F10 (Wetzlar) France F18 (Bagneres-De-Bigorre) Portugal F20 (Oliveira De Azemeis) Germany F14 (Oberhaching) France F24 (Rodez) Israel F15 (Meitar) Israel F16 (Ramat Hasharon) Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Great Britain F1 (Glasgow) Great Britain F3 (Shrewsbury) Portugal F1 (Vale Do Lobo) Israel F1 (Ramat Gan) USA F9 (Memphis) USA F10 (Little Rock) Tunisia F16 (Jerba) Netherlands F3 France F13 (Ajaccio) Netherlands F4 (Oldenzaal) France F16 (Bagneres-De-Bigorre) France F18 (Plaisir) Portugal F18 (Oliveira De Azemeis) M15+H Bressuire M15 Sharm El Sheikh M15 Grenoble M25 Glasgow M25 Trento M25 Bolton M25 Sunderland M25+H Jablonec Nad Nisou M25 Martos M25+H Palma Del Rio M25+H Ajaccio M15 Sintra M15 Piombino M25 Bagneres-De-Bigorre M25+H Plaisir M25+H Oliveira De Azemeis M25+H Rodez M25 Saint Dizier M15 Villers Les Nancy M15+H Bressuire M15 Veigy-Foncenex M15 Grenoble M25 Sunderland M15 Faro M25+H Plaisir M15 Parnu M15 Monastir M15 Monastir M15 Monastir M25 Meerbusch M15 Sibenik M15 Troisdorf M15 Marbella M25+H Ajaccio M25 Frankfurt am Main Netherlands F5 M25 Bagneres-De-Bigorre M25 Nevers M25+H Rodez Italy F8 M25 Monastir M15 Grenoble Norway F1 M15 Torello Spain F31 Portugal F5 Tunisia F5 France F13 France F6 France F7 Belgium F2 Tunisia F4 Tunisia F5 Tunisia F1 Qatar F2 Qatar F3 Tunisia F3A Portugal F2 Italy F12 Italy F13 Italy F26 Iran F1 Iran F2 France F12 France F17 France F18 Belgium F1 Tunisia F5 China F1 France F3 Poland F1 Poland F2 Bulgaria-w2 Netherlands F5 Great Britain F3 United Arab Emirates F2 Netherlands F6 France F2 China F2 France F2 Bulgaria-w3 Great Britain F4 Morocco F4 Spain F42 Israel F5 Mordovia Cup 2005 - Saransk Open D'Orleans - Orleans Marrakech Challenger Rome Challenger M25 Vale do Lobo Tunis Challenger Bytom Challenger Reggio Emilia Challenger Braunschweig Challenger Scheveningen Challenger Saransk Challenger M15 Heraklion Tunis Open 2006 - Tunis M25 Nottingham Vigo Challenger Geneva Challenger Como Challenger M25+H Ajaccio Tulsa Challenger Quito Challenger M25 Roehampton Sacramento Challenger Tanger Challenger Biella Challenger Tampere Challenger Como Challenger Izmir Challenger Tunis Open 2007 - Tunis Quimper Challenger Rabat Challenger Labertz Open by Stawag - Aachen Bath Challenger Ethias Trophy - Mons Penza Challenger Astana Challenger Trani Challenger Samarkand Challenger Istanbul Challenger M25 Bakio Izmir Challenger Mons Challenger M25+H Plaisir M15 Oberhaching Rennes Challenger M25 Koksijde Eckental Challenger Geneva Challenger M25 Sintra Loughborough Challenger The LTA Men's Challenger - Southampton Quimper Challenger Cherbourg Challenger Kyoto Challenger Barletta Challenger Tunis Challenger Arad Challenger Bercuit Challenger Orbetello Challenger Alphen Challenger Tunis Challenger Timisoara Challenger Todi Challenger Lexington Challenger Orbetello Challenger Meerbusch Challenger Alphen Challenger Shanghai Challenger Istanbul Challenger Petange Challenger Izmir Challenger Fergana Challenger Sarajevo Challenger Maui Challenger Chitre Challenger Dallas Challenger Morelos Challenger Athens Challenger Bordeaux Challenger Tampere Challenger Segovia Challenger Meerbusch Challenger Seville Challenger Togliatti Cup - Togliatti Izmir Challenger Mons Challenger Tashkent Challenger Knoxville Challenger Kolding Challenger Rabat Challenger Sofia Challenger St. Brieuc Challenger Ostrava Challenger Aix En Provence Challenger M25+H Bagneres-de-Bigorre San Sebastian Challenger Ilkley Challenger Meknes Challenger M25 Nevers Milan Challenger M25+H Rodez St. Remy Challenger San Benedetto Challenger Scheveningen Challenger Mons Challenger Rennes Challenger Ho Chi Minh City Challenger Pune Challenger Segovia Challenger Tenerife Challenger Nossa Caixa Tennis Cup - Sao Paulo Timisoara Challenger - Timisoara Lyon Challenger Segovia Challenger Portoroz Challenger Istanbul Challenger Ho Chi Minh City Challenger Brest Challenger Todi Challenger Alphen Challenger Morelos Challenger Recanati Challenger Salzburg Challenger Scheveningen Challenger Gatineau Challenger Turin Challenger Istanbul Challenger Surbiton Challenger Challenger Ford de Cherbourg - Cherbourg Tashkent Challenger Tunis Challenger Tanger Challenger Manila Challenger Guadalajara Challenger Sao Paulo Challenger Traralgon Challenger Kosice Challenger Rennes Challenger Binghamton Challenger Shymkent Challenger Istanbul Challenger Aptos Challenger Istanbul Challenger Qujing Challenger Geneva Challenger Alessandria Challenger Furth Challenger Kosice Challenger Aix En Provence Challenger Tunis Challenger Marburg Challenger Shenzhen Challenger Scheveningen Challenger Mons Challenger Granby Challenger Alphen Challenger Meknes Challenger Nur-Sultan 3 Challenger Ethias Trophy - Mons Kaohsiung Challenger Morelos Challenger Champaign Challenger Heilbronn Challenger Orlando Challenger Bucaramanga Challenger Happy Valley Challenger Meerbusch Challenger Morelos Challenger Cherbourg Challenger Knoxville Challenger Marrakech Challenger Astana Challenger Bangkok Challenger Segovia Challenger Aptos Challenger Rennes Challenger Bangkok Challenger Istanbul Challenger Astana Challenger Izmir Challenger Orleans Challenger Bangkok Challenger Drummondville Challenger Leon Challenger Meerbusch Challenger Izmir Challenger Granby Challenger Scheveningen Challenger Brest Challenger Shenzhen Challenger Recanati Challenger Lexington Challenger Marbella Challenger Belgrade Challenger Braunschweig Challenger Dortmund Challenger St. Remy Challenger Liberec Challenger Cali Challenger Tempe Challenger Bordeaux Challenger Charleston Challenger Aptos Challenger Bergamo Challenger Bath Challenger Cherbourg Challenger Zhuhai Challenger Lille Challenger Glasgow Challenger Napoli Challenger Ostrava Challenger Canberra Challenger Caltanissetta Challenger Columbus Challenger Lille Challenger St. Brieuc Challenger Scheveningen Challenger Qatar Open - Doha Aix En Provence Challenger Recanati Challenger Orleans Challenger Prague Challenger Iasi Challenger Biella 2 Challenger Nur-Sultan 4 Challenger Segovia Challenger Verona Challenger Grand Prix de Tennis de Lyon - Lyon Bogota Challenger Las Vegas Challenger Charlottesville Challenger Champaign Challenger Bengalaru 1 Challenger Lille Challenger Tunis Challenger Troisdorf Challenger Little Rock Challenger Corrientes Challenger Buenos Aires 3 Challenger Rome Challenger Toulouse Challenger Cassis Challenger Santos Challenger Fairfield Challenger Ambato Challenger New Delhi Challenger Tunis Open - Tunis Ethias Tennis Trophy - Mons Tunis Open - Tunis Istanbul Challenger Glasgow Challenger Open des Alpes Trophee BNP Paribas - Grenoble Nur-Sultan Challenger Liuzhou Challenger Mons Challenger Eckental Challenger Bangkok Challenger Bengalaru Challenger Recanati Challenger Ethias Trophy - Mons Kobstaedernes ATP Challenger - Kolding Ostrava Challenger Sibiu Challenger Split Challenger Milan Challenger Johannesburg Challenger Orleans Challenger Jonkoping Challenger PBZ Zagreb Indoors - Zagreb Open 13 - Marseille Karlsruhe Challenger Qatar ExxonMobil Open - Doha Open 13 - Marseille Cremona Challenger Knoxville Challenger Jersey Challenger Quimper Challenger Kazan Challenger Pingguo Challenger Heineken Open - Auckland St. Brieuc Challenger Istanbul Challenger St. Brieuc Challenger Le Gosier Challenger Furth Challenger Salzburg Challenger Seville Challenger Le Gosier Challenger Genova Challenger Szczecin Challenger Izmir Challenger Mons Challenger Heilbronn Challenger Tashkent Challenger Rennes Challenger Seoul Challenger Recanati Challenger Geneva Challenger Rimouski Challenger Open Sabadell Atlantico - Barcelona Meknes Challenger If Stockholm Open - Stockholm Kremlin Cup - Moscow Cherbourg Challeger Loughborough Challenger San Luis Potosi Challenger Marrakech Challenger M25 Nottingham Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca SkiStar Swedish Open - Bastad Jersey Challenger St. Petersburg Open - St. Petersburg Cherbourg Challenger Catella Swedish Open - Bastad Citi Open - Washington China Open - Beijing Winston-Salem Open - Winston-Salem Open 13 - Marseille Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest St. Brieuc Challenger Hall of Fame Tennis Championships - Newport Claro Open Colombia - Bogota Dubai Duty Free Tennis Championships - Dubai Mercedes Cup - Stuttgart Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Garanti Koza Sofia Open - Sofia Grand Prix Hassan II - Marrakech BMW Open - Munich European Open - Antwerp Turin Challenger Bogota Challenger Monza Challenger Santos Challenger PBZ Zagreb Indoors - Zagreb Singapore Tennis Open - Singapore Generali Open - Kitzbuhel Dubai Duty Free Tennis Championships - Dubai Kremlin Cup - Moscow Tunis Challenger Bangalore Challenger Gerry Weber Open - Halle Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Ostrava Challenger Casablanca Challenger Suisse Open - Gstaad Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Winston-Salem Open - Winston-Salem China Open - Beijing Arad Challenger Sydney International - Sydney Qatar Exxon Mobil Open - Doha Vercelli Challenger Qatar ExxonMobil Open - Doha Rome Challenger Blois Challenger Dubai Duty Free Tennis Championships - Dubai Banja Luka Challenger St. Remy Challenger Sardegna Open - Cagliari Belgrade 2 - Belgrade Caltanissetta Challenger If Stockholm Open - Stockholm Dubai Duty Free Tennis Championships - Dubai Santo Domingo Challenger Loughborough Challenger If Stockholm Open - Stockholm Manchester Challenger Delray Beach Open - Delray Beach Caltanissetta Challenger Qatar ExxonMobil Open - Doha St. Brieuc Challenger Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca Open de Nice Cote d'Azur - Nice AEGON Championships - London UNICEF Open - 's Hertogenbosch Hua Hin Challenger Charlottesville Challenger Champaign Challenger Alphen Challenger Dubai Duty Free Tennis Championships - Dubai Bratislava Challenger ASB Classic - Auckland SkiStar Swedish Open - Bastad Citi Open - Washington Qatar ExxonMobil Open - Doha ABN AMRO World Tennis Tournament - Rotterdam Koblenz Challenger Puebla Challenger Hall of Fame Tennis Championships - Newport Malaysian Open - Kuala Lumpur Roanne Challenger Mestre Challenger Orleans Challenger Valencia Open - Valencia Open 13 - Marseille Ostrava Challenger Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier U.S. National Indoor Tennis Championships - Memphis Dubai Duty Free Tennis Championships - Dubai Segovia Challenger Cassis Challenger Quimper Challenger Sarajevo Challenger Open Parc - Lyon Aegon Nottingham Open - Nottingham Napoli Challenger Arad Challenger BB&T Atlanta Open - Atlanta Citi Open - Washington San Benedetto Challenger Winston-Salem Open - Winston-Salem Mouilleron-Le-Captif Challenger Canberra Challenger Bangkok Challenger St. Brieuc Challenger Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Tashkent Challenger Memphis Open - Memphis Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Fergana Challenger Guadalajara Challenger Recanati Challenger BMW Open - Munich Aegon Nottingham Open - Nottingham Biel Challenger Cordoba Open - Cordoba Citi Open - Washington Mestre Challenger Winnetka Challenger Pullach Challenger Recanati Challenger Mallorca Challenger If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha Forli 2 Challenger Roseto Degli Abruzzi 2 Challenger Millennium Estoril Open - Estoril Blois Challenger Dubai Duty Free Tennis Championships - Dubai China Open - Beijing Mercedes Cup - Stuttgart Antalya Cup - Antalya BB&T Atlanta Open - Atlanta Citi Open - Washington Moselle Open - Metz Shenzhen Open - Shenzhen Qatar ExxonMobil Open - Doha Vancouver Challenger Garanti Koza Sofia Open - Sofia Ningboo Challenger Citi Open - Washington Chengdu Open - Chengdu Tenerife 3 Challenger Tata Open Maharashtra - Pune Prague II Challenger Alicante Challenger Parma Challenger Biella 1 Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Forli Challenger Swiss Open - Gstaad Citi Open - Washington San Marino Challenger Barletta Challenger Tata Open Maharashtra - Pune Antalya Open - Antalya Barcelona Open Banc Sabadell - Barcelona Qatar ExxonMobil Open - Doha Drummondville Challenger Tunis Challenger Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Aguascalientes Challenger Grand Prix Hassan II - Marrakech Open 13 - Marseille European Open - Antwerp Davidoff Swiss Indoors Basel - Basel PBZ Zagreb Indoors - Zagreb China Open - Beijing Ricoh Open - 's-Hertogenbosch AEGON International - Eastbourne Kremlin Cup - Moscow Tiburon Challenger Swiss Indoors Basel - Basel Brasil Open - Sao Paulo Drummondville Challenger Bordeaux Challenger Almaty Challenger Lille Challenger BMW Open - Munich Bangkok Challenger Koblenz Challenger Barcelona Challenger Ostrava Challenger Bratislava Challenger Calgary Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Tenerife 1 Challenger If Stockholm Open - Stockholm Sony Open Tennis - Miami Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati Open 13 Provence - Marseille Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Rogers Cup - Toronto Winston-Salem Open - Winston-Salem Western & Southern Open - Cincinnati Gerry Weber Open - Halle Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Coupe Rogers - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Moselle Open - Metz Open Sabadell Atlantico - Barcelona BB&T Atlanta Open - Atlanta Argentina Open - Buenos Aires Rio Open - Rio de Janeiro U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Kremlin Cup - Moscow U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris French Open - Paris French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London Davis Cup, Group 2, PO, SLO-TUN 4-1 Davis Cup, Group II, PO, TUN-BLR 2-3 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group II, 1R, TUN-SWE 2-3 Davis Cup, Group II, 1R, TUN-FIN 2-3 Davis Cup, Group 2, PO, LAT-TUN 3-2 Davis Cup, Group II, PO, IRL-TUN 3-2 Davis Cup, Group II, 1R, GBR-TUN 4-1 Davis Cup, Group II, PO, TUN-BUL 3-2 M25+H Bagneres-de-Bigorre Davis Cup, Group II, PO, CYP-TUN 1-4 Davis Cup, World Group II, PO, GUA-TUN 1-3 Olympics - London Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group II, 1R, BIH-TUN 3-1 Davis Cup, Group II, PO, EST-TUN 3-2 Olympics - Rio de Janeiro